# 1.
# 演示字符串的三种定义方式：
# - 单引号定义法
# - 双引号定义法
# - 三引号定义法


# 单引号定义法，使用单引号进行包围
name = '黑马程序员'
print(type(name), name)
# 双引号定义法 (最常用的写法）
name = "黑马程序员"
print(type(name), name)
# 三引号定义法，写法和多行注释是一样的
name = """
我是
黑马
程序员
"""
print(type(name), name)


# 在字符串内 包含双引号
name = '"黑马程序员“'
# 在字符串内包含单引号
name = "'黑马程序员‘"
# 使用转义字符 \ 解除引号的作用
name = "\"黑马程序员\""
print(name)
name = '\'黑马程序员\''
print(name)

# 2.字符串的拼接

# 字符串字面量之间的拼接
print("学IT来黑马" + "月薪过万")
# 字符串字面量和字符串变量的拼接
name = "黑马程序员"
address = "建材城东路9号院"
tel = 4006189090
# 字符串不能与其他的类型完成拼接
print("我是" + name + "，我的地址是：" + address + "我的电话是")

# 字符串格式化
# 通过占位的形式，完成拼接
name = "黑马程序员"
message = "学IT来：%s" % name
print(message)
# 通过占位的形式，完成数字和字符串的拼接
class_num = 57
avg_salary = 16781
message = "Python大数据学科，北京%s期，毕业平均工资：%s" % (class_num, avg_salary)
print(message) # 数字以原本的面貌占位，用%d，与C语言相同
name = "传智博客"
setup_year = 2006
stock_price = 19.99
message = "%s,成立于:%d, 我今天的股价是: %.2f" % (name, setup_year, stock_price)
print(message)

# 格式化的精度控制，与C语言相同
num1 = 11
num2 = 11.345
print("数字11宽度限制5，结果是%5d" % num1)
print("数字11宽度限制1，结果是%1d" % num1)
print("数字11.345宽度限制7，小数精度2，结果是：%7.2f" % num2)
print("数字11.345宽度不限制，小数精度2，结果是：%.2f" % num2)

# 字符串格式化的方式2：快速写法
# 这种方式：不理会类型，不做精度控制
name = "传智博客"
set_up_year = 2006
stock_price = 19.99
# f: format
print(f"我是{name},我成立于{set_up_year}年，我今天的股价是{stock_price}")

# 对表达式进行字符串格式化
print("1 * 1 的结果是：%d" % (1 * 1))
print(f"1 * 2的结果是：{1 * 2}")
print("字符串在Python中的类型名是：%s" % type("字符串"))

# 字符串格式化的课后练习题

# 定义需要的变量
name = "传智播客"
stock_price = 19.99
stock_code = "003032"
# 股票 价格 每日 增长 因子
stock_price_daily_growth_factor = 1.2
growth_days = 7
finally_stock_price = stock_price * stock_price_daily_growth_factor ** growth_days
print(f"公司：{name}, 股票代码：{stock_code}, 当前股价, {stock_price}")
print("每日增长系数：%.1f, 经过%d天的增长后，股价达到了：%.2f" %(stock_price_daily_growth_factor, growth_days, finally_stock_price))


"""
演示Python的input语句
获取键盘的输入信息
"""
print("请告诉我你是谁？")
name = input()
# 也可以这么写 name = input("请告诉我你是谁？")
print("我知道了，你是：%s" % name)

# 输入数字类型
num = input("请告诉我你的银行卡密码：")
print("你的银行卡密码的类型是：", type(num))
num = int(num)
print("你的银行卡密码的类型是：", type(num))